﻿<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">

  <object id="transactionManager"
        type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate21">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
  </object>


  <object id="transactionInterceptor" type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data">
    <property name="TransactionManager" ref="transactionManager"/>
    <property name="TransactionAttributeSource">
      <object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"/>
    </property>
  </object>

  <object id="BaseTransactionManager"  type="Spring.Transaction.Interceptor.TransactionProxyFactoryObject, Spring.Data" abstract="true">
    <property name="PlatformTransactionManager" ref="transactionManager"/>
    <property name="TransactionAttributes">
      <name-values>
        <add key="Save*" value="PROPAGATION_REQUIRED"/>
        <add key="Set*" value="PROPAGATION_REQUIRED"/>
        <add key="Finish*" value="PROPAGATION_REQUIRED"/>
        <add key="Update*" value="PROPAGATION_REQUIRED"/>
        <add key="Delete*" value="PROPAGATION_REQUIRED"/>
        <add key="Add*" value="PROPAGATION_REQUIRED"/>
        <add key="Get*" value="PROPAGATION_SUPPORTS,readOnly"/>
        <add key="Find*" value="PROPAGATION_SUPPORTS,readOnly"/>
        <add key="Load*" value="PROPAGATION_SUPPORTS,readOnly"/>
        <add key="*" value="PROPAGATION_REQUIRED"/>
      </name-values>
    </property>
  </object>
  <object id="SimadminManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimadminManager,SimCMS.Manager">
        <property name="SimadminRepository" ref="SimCMS.Repository.Simadmin"/>
      </object>
    </property>
  </object>
  <object id="SimadminmenuManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimadminmenuManager,SimCMS.Manager">
        <property name="SimadminmenuRepository" ref="SimCMS.Repository.Simadminmenu"/>
      </object>
    </property>
  </object>
  <object id="SimadminroleManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimadminroleManager,SimCMS.Manager">
        <property name="SimadminroleRepository" ref="SimCMS.Repository.Simadminrole"/>
      </object>
    </property>
  </object>
  <object id="SimchildobjManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimchildobjManager,SimCMS.Manager">
        <property name="SimchildobjRepository" ref="SimCMS.Repository.Simchildobj"/>
      </object>
    </property>
  </object>
  <object id="SimobjattrManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimobjattrManager,SimCMS.Manager">
        <property name="SimobjattrRepository" ref="SimCMS.Repository.Simobjattr"/>
      </object>
    </property>
  </object>
  <object id="SimobjsattrManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimobjsattrManager,SimCMS.Manager">
        <property name="SimobjsattrRepository" ref="SimCMS.Repository.Simobjsattr"/>
      </object>
    </property>
  </object>
  <object id="SimFCategoryManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimFCategoryManager,SimCMS.Manager">
        <property name="SimFCategoryRepository" ref="SimCMS.Repository.SimFCategory"/>
      </object>
    </property>
  </object>
  <object id="SimFoodmenuManager" parent="BaseTransactionManager">
    <property name="Target">
      <object type="SimCMS.Manager.SimFoodmenuManager,SimCMS.Manager">
        <property name="SimFoodmenuRepository" ref="SimCMS.Repository.SimFoodmenu"/>
      </object>
    </property>
  </object>
</objects>